With the various types of devices and video players used in video streaming, keeping clients updated in a complex video streaming ecosystem can be challenging. Moreover, as the different clients are of numerous types with different users, determining how to optimize the viewing experience for the disparate clients can be difficult.